﻿using GraphDrawing.Graph.View;

namespace GraphDrawing.Graph.Model
{
    /// <summary>
    /// Интерфейс фабрики, создающей блоки и представления определённого типа.
    /// </summary>
    public interface IBlockFactory
    {
        /// <summary>
        /// Создаёт модель и представление блока.
        /// </summary>
        /// <returns></returns>
        BlockViewModel Create();
    }

    public struct BlockViewModel
    {
        public readonly BlockModel block;
        public readonly BlockView view;

        public BlockViewModel(BlockModel block, BlockView view)
        {
            this.block = block;
            this.view = view;
        }
    }
}
